# ① 开发注册接口 必须是POST请求
# 配置路由 /register  传递用户名 密码  返回数据：注册成功
from flask import Flask

app = Flask(__name__)

app.config.from_pyfile("config.py")

register_dict = {}
register_list = []
token = ""


@app.route("/register/<username>/<password>", methods=["POST"])
def register(username, password):
    register_dict["username"] = username
    register_dict["password"] = password
    register_list.append(register_dict)

    print(register_list)
    return "注册成功"


# ② 开发登录接口 必须是POST请求
# 配置路由 /login  传递数据 用户名 密码 验证数据 如果用户名是Tom、密码是123则 设置一个全局变量例如 token="abcdefg"  如果不是则返回 用户名或密码错误
#
@app.route("/login/<username>/<password>", methods=["POST"])
def login(username, password):
    global token
    for item in register_list:
        if item["username"] == username and item["password"] == password:
            token = "abcdefg"
            return "登录成功"
    return "用户名或密码错误"


# ③ 开发添加博客接口  必须是POST请求
#  配置路由 /addblog
# 设置一个全局列表 记录博客，首先验证token是否是abcdefg 如果是则表示登录成功了，获取传递来的 博客标题、博客作者 提示：用{}字典来记录一个博客信息。
# 博客信息在添加到全局博客列表中
add_list = []
add_dict = {}


@app.route("/addblog/<title>/<author>", methods=["POST"])
def addblog(title, author):
    if token:
        # add_dict["title"] = title
        # add_dict["author"] = author
        # add_list.append(add_dict)

        add_list.append({"title": title, "author": author})
        print(add_list)
        return "添加成功"
    else:
        return "请先登录"


# ④开发查看博客列表接口 必须是GET请求
#
# 配置路由 /bloglist
# 遍历所有的博客列表 拼接字符串，例如 "标题1,作者1;标题2;作者2"
# 返回拼接好的字符串

@app.route("/bloglist/")
def bloglist():
    str = ""
    for item in add_list:
        str += item["title"] + "---"
    return str


if __name__ == '__main__':
    app.run()
